All files: replace explict calls to fopen with xfopen wrapper that
authorrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Thu, 8 Jan 2004 21:47:51 +0000 (21:47 +0000)
committerrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Thu, 8 Jan 2004 21:47:51 +0000 (21:47 +0000)
supports - as alias for std{in,out} and tests for error.

33 files changed:
gpsbabel/arcdist.c
gpsbabel/cetus.c
gpsbabel/copilot.c
gpsbabel/defs.h
gpsbabel/delgpl.c
gpsbabel/easygps.c
gpsbabel/gcdb.c
gpsbabel/geo.c
gpsbabel/geoniche.c
gpsbabel/gpilots.c
gpsbabel/gpsdrive.c
gpsbabel/gpspilot.c
gpsbabel/gpsutil.c
gpsbabel/gpx.c
gpsbabel/holux.c
gpsbabel/magnav.c
gpsbabel/magproto.c
gpsbabel/mapopolis.c
gpsbabel/mapsend.c
gpsbabel/mapsource.c
gpsbabel/navicache.c
gpsbabel/ozi.c
gpsbabel/pcx.c
gpsbabel/polygon.c
gpsbabel/psitrex.c
gpsbabel/psp.c
gpsbabel/quovadis.c
gpsbabel/saroute.c
gpsbabel/tiger.c
gpsbabel/tmpro.c
gpsbabel/tpg.c
gpsbabel/util.c
gpsbabel/xcsv.c

index e4f447347e22ba26e40e014df634ade63ff56f00..6ee80ef96205420ae406e6848df22e5ff504cd80 100644 (file)
@@ -57,10 +57,7 @@ arcdist_process(void)
         double lat1, lon1, lat2, lon2;
        int fileline = 0;
 
-       FILE *arcfile = fopen( arcfileopt, "r" );
-       if ( arcfile == NULL ) {
-               fatal(MYNAME ": Can't open %s for reading.\n",arcfileopt); 
-       }
+       FILE *arcfile = xfopen( arcfileopt, "r", MYNAME );
        
         lat1 = lon1 = lat2 = lon2 = BADVAL;
        while ( !feof(arcfile)) {
index 94f6ef74ee94b809619c273e85072103b3103e4f..df0af8548e428e9c45d38dc1f9b7e0ec4ea82437 100644 (file)
@@ -93,10 +93,7 @@ arglist_t cetus_args[] = {
 static void
 rd_init(const char *fname)
 {
-       file_in = fopen(fname, "rb");
-       if (file_in == NULL) {
-               fatal(MYNAME ": Cannot open %s for reading\n", fname);
-       }
+       file_in = xfopen(fname, "rb", MYNAME);
 }
 
 static void
@@ -112,11 +109,8 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-       file_out = fopen(fname, "wb");
+       file_out = xfopen(fname, "wb", MYNAME);
        out_fname = fname;
-       if (file_out == NULL) {
-               fatal(MYNAME ": Cannot open %s for writing\n", fname);
-       }
 }
 
 static void
index 8ceee66d1c8c6288ef3c38118a3862dc1bcbdd1c..3ee51f824e710d33dd393e363f39e2b4e9f28013 100644 (file)
@@ -47,10 +47,7 @@ struct pdb_record *opdb_rec;
 static void
 rd_init(const char *fname)
 {
-       file_in = fopen(fname, "rb");
-       if (file_in == NULL) {
-               fatal(MYNAME ": Cannot open %s for reading\n", fname);
-       }
+       file_in = xfopen(fname, "rb", MYNAME);
 }
 
 static void
@@ -62,11 +59,8 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-       file_out = fopen(fname, "wb");
+       file_out = xfopen(fname, "wb", MYNAME);
        out_fname = fname;
-       if (file_out == NULL) {
-               fatal(MYNAME ": Cannot open %s for writing\n", fname);
-       }
 }
 
 static void
index b74a8a70a2be1d74cfdb127477d6f05899a14669..8c96609d3565aa8e4a40464ae6e70ce75013d2b4 100644 (file)
@@ -363,6 +363,7 @@ void debug_mem_close();
 #define xxstrappend XSTRAPPEND
 #endif /* DEBUG_MEM */
 
+FILE *xfopen(const char *fname, const char *type, const char *errtxt);
 
 int case_ignore_strcmp(const char *s1, const char *s2);
 
index e6d5999ba9b8d202fcb3b322907ef64e111f1dd7..c09e6bba7b48ffb08f6e0796475d01436b12c75f 100644 (file)
@@ -21,7 +21,6 @@
 
 #include <ctype.h>
 #include <time.h>
-#include <errno.h>
 
 #include "defs.h"
 
@@ -47,14 +46,11 @@ static FILE *gplfile_out;
 static void
 gpl_rd_init(const char *fname)
 {
-       gplfile_in = fopen(fname, "rb");
+       gplfile_in = xfopen(fname, "rb", MYNAME);
        if (sizeof(struct gpl_point) != 56) {
                fatal(MYNAME, ": gpl_point is %d instead of 56.\n", 
                                sizeof(struct gpl_point));
        }
-       if (gplfile_in == NULL) {
-               fatal(MYNAME, ": '%s' for reading\n", fname);
-       }
 }
 
 static void
@@ -92,10 +88,7 @@ gpl_rd_deinit(void)
 static void
 gpl_wr_init(const char *fname)
 {
-       gplfile_out = fopen(fname, "wb");
-       if (gplfile_out == NULL) {
-               fatal(MYNAME ": Cannot open '%s' for writing\n", fname);
-       }
+       gplfile_out = xfopen(fname, "wb", MYNAME);
 }
 
 static void
index 51bacc94f53c7b5ca2d12617e65f3023ed7d68e5..e028e052b4f12af00d9063861995d5eb2c2476f2 100644 (file)
@@ -41,10 +41,7 @@ rd_init(const char *fname)
        char ibuf[100] = {'0'} ;
        const char *ezsig = "TerraByte Location File";
 
-       file_in = fopen(fname, "rb");
-       if (file_in == NULL) {
-               fatal(MYNAME ": Cannot open %s for reading\n", fname);
-       }
+       file_in = xfopen(fname, "rb", MYNAME);
 
        fread(ibuf, 52, 1, file_in);
        
@@ -63,12 +60,8 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-       file_out = fopen(fname, "wb");
+       file_out = xfopen(fname, "wb", MYNAME);
        mkshort_handle = mkshort_new_handle();
-
-       if (file_out == NULL) {
-               fatal(MYNAME ": Cannot open %s for writing\n", fname);
-       }
 }
 
 static void
index 861a3c08619c5a6cc4e9a8e1f78abd71a80a069f..a439e0ee6053f742cf6a78147898fdd33d82e925 100644 (file)
@@ -59,10 +59,7 @@ static char *tbufp = NULL;
 static void
 rd_init(const char *fname)
 {
-       file_in = fopen(fname, "rb");
-       if (file_in == NULL) {
-               fatal(MYNAME ": Cannot open %s for reading\n", fname);
-       }
+       file_in = xfopen(fname, "rb", MYNAME);
 }
 
 static void
@@ -74,11 +71,8 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-       file_out = fopen(fname, "wb");
+       file_out = xfopen(fname, "wb", MYNAME);
        out_fname = fname;
-       if (file_out == NULL) {
-               fatal(MYNAME ": Cannot open %s for writing\n", fname);
-       }
 }
 
 static void
index 171a9546a301d63daa0bbc820166951000438e2e..ffb0812edc1003adc86926800fe53beb8e41da4b 100644 (file)
@@ -194,10 +194,7 @@ geo_cdata(void *dta, const XML_Char *s, int len)
 void
 geo_rd_init(const char *fname)
 {
-       fd = fopen(fname, "r");
-       if (fd == NULL) {
-               fatal(MYNAME ":Cannot open %s for reading\n", fname);
-       }
+       fd = xfopen(fname, "r", MYNAME);
 
        psr = XML_ParserCreate(NULL);
        if (!psr) {
@@ -244,10 +241,7 @@ geo_rd_deinit(void)
 void
 geo_wr_init(const char *fname)
 {
-       ofd = fopen(fname, "w");
-       if (ofd == NULL) {
-               fatal(MYNAME ":Cannot open '%s' for writing\n", fname);
-       }
+       ofd = xfopen(fname, "w", MYNAME);
 }
 
 void
index b98f175d8f7845f6a3f9bce1d1055bc44d960acf..94cf48e8dc3b18edde8bb83dabeea886d2336c98 100644 (file)
@@ -108,9 +108,7 @@ id2gid(char gid[6+1], int id)
 static void
 rd_init(const char *fname)
 {
-    FileIn = fopen(fname, "rb");
-    if (FileIn == NULL)
-       fatal(MYNAME ": Cannot open %s for reading\n", fname);
+    FileIn = xfopen(fname, "rb", MYNAME);
 }
 
 static void
@@ -124,10 +122,8 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-    FileOut = fopen(fname, "wb");
+    FileOut = xfopen(fname, "wb", MYNAME);
     FilenameOut = fname;
-    if (FileOut == NULL)
-       fatal(MYNAME ": Cannot open %s for writing\n", fname);
 }
 
 static void
index 62eabf5438332e51a7c702b80d01ec1b3c259415..3e4c87428bc4d2ee27042621c37f32aa6d964707 100644 (file)
@@ -124,10 +124,7 @@ arglist_t my_args[] = {
 static void
 rd_init(const char *fname)
 {
-       file_in = fopen(fname, "rb");
-       if (file_in == NULL) {
-               fatal(MYNAME ": Cannot open %s for reading\n", fname);
-       }
+       file_in = xfopen(fname, "rb", MYNAME);
 }
 
 static void
@@ -143,11 +140,8 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-       file_out = fopen(fname, "wb");
+       file_out = xfopen(fname, "wb", MYNAME);
        out_fname = fname;
-       if (file_out == NULL) {
-               fatal(MYNAME ": Cannot open %s for writing\n", fname);
-       }
 }
 
 static void
index 72b2bd5751505f0a60b6fa709644e689b4ab3125..b6dd6262d0c19149071579d2ea944446e88d1697 100644 (file)
@@ -41,10 +41,7 @@ static void *mkshort_rd_handle;
 static void
 rd_init(const char *fname)
 {
-       file_in = fopen(fname, "r");
-       if (file_in == NULL) {
-               fatal(MYNAME ": Cannot open %s for reading\n", fname);
-       }
+       file_in = xfopen(fname, "r", MYNAME);
 }
 
 static void
@@ -56,10 +53,7 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-       file_out = fopen(fname, "w");
-       if (file_out == NULL) {
-               fatal(MYNAME ": Cannot open %s for writing\n", fname);
-       }
+       file_out = xfopen(fname, "w", MYNAME);
 }
 
 
index 1b5e8538a71050699ada718b1aa64be4233d1174..8502cb189d9e1708560fb1b35daa216f9426a8e7 100644 (file)
@@ -61,10 +61,7 @@ arglist_t gpspilot_args[] = {
 static void
 rd_init(const char *fname)
 {
-       file_in = fopen(fname, "rb");
-       if (file_in == NULL) {
-               fatal(MYNAME ": Cannot open %s for reading\n", fname);
-       }
+       file_in = xfopen(fname, "rb", MYNAME);
 }
 
 static void
@@ -80,11 +77,8 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-       file_out = fopen(fname, "wb");
+       file_out = xfopen(fname, "wb", MYNAME);
        out_fname = fname;
-       if (file_out == NULL) {
-               fatal(MYNAME ": Cannot open %s for writing\n", fname);
-       }
 }
 
 static void
index 325a48989254833901de1022290a4ac04cf861f5..081a8435c1aaecb29cf487638994a593f06492cf 100644 (file)
@@ -14,10 +14,7 @@ static void *mkshort_handle;
 static void
 rd_init(const char *fname)
 {
-       file_in = fopen(fname, "r");
-       if (file_in == NULL) {
-               fatal(MYNAME ": Cannot open %s for reading\n", fname);
-       }
+       file_in = xfopen(fname, "r", MYNAME);
 }
 
 static void
@@ -29,12 +26,8 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-       file_out = fopen(fname, "w");
-       if (file_out == NULL) {
-               fatal(MYNAME ": Cannot open %s for writing\n", fname);
-       }
+       file_out = xfopen(fname, "w", MYNAME);
        mkshort_handle = mkshort_new_handle();
-
 }
 
 static void
index 0c21fe49b9bba6cc977d16fbb8fa0393c648468d..45a6889d69d35fa80bbb2c98ff246492f250c435 100644 (file)
@@ -679,10 +679,7 @@ void
 gpx_rd_init(const char *fname)
 {
        if ( fname[0] ) {
-               fd = fopen(fname, "r");
-               if (fd == NULL) {
-                       fatal(MYNAME ": Cannot open %s for reading\n", fname );
-               }
+               fd = xfopen(fname, "r", MYNAME);
        }
        else {
                fd = NULL;
@@ -732,10 +729,7 @@ gpx_wr_init(const char *fname)
 {
        mkshort_handle = mkshort_new_handle();
 
-       ofd = fopen(fname, "w");
-       if (ofd == NULL) {
-               fatal(MYNAME ": open %s for writing\n", fname );
-       }
+       ofd = xfopen(fname, "w", MYNAME);
 }
 
 static void
index 8a9931c876b44fa309eab05c53f59b79a2005f78..eb6e4baf2a830df690ecdbb73779c44c2f748937 100644 (file)
@@ -36,14 +36,12 @@ static  FILE *file_in;
 static         unsigned char *HxWFile;
 static  void *mkshort_handle;
 static  char fOutname[256];
+#define MYNAME "Holux"
 
 
 static void rd_init(const char *fname)
 {
-       file_in = fopen(fname, "rb");
-       if (file_in == NULL) {
-               fatal("GPSBABEL: Cannot open %s for reading\n", fname);
-       }
+       file_in = xfopen(fname, "rb", MYNAME);
 }
 
 
@@ -276,10 +274,7 @@ static void data_write(void)
     waypt_disp_all(holux_disp);
    
 
-       file_out = fopen(fOutname, "wb");
-       if (file_out == NULL) {
-               fatal("GPSUTIL: Cannot open %s for writing\n", fOutname);
-       }
+    file_out = xfopen(fOutname, "wb", MYNAME);
   
     iWritten = fwrite (HxWFile, 1, GM100_WPO_FILE_SIZE,file_out);  
     if (iWritten == 0)
index 03068d2d99d312ef43b0bc16459ea3525d5fc656..a8449bb051258526db3a9edb15791c7e3691e422 100644 (file)
@@ -60,10 +60,7 @@ struct pdb_record *opdb_rec;
 static void
 rd_init(const char *fname)
 {
-       file_in = fopen(fname, "rb");
-       if (file_in == NULL) {
-               fatal(MYNAME ": Cannot open %s for reading\n", fname);
-       }
+       file_in = xfopen(fname, "rb", MYNAME);
 }
 
 static void
@@ -75,11 +72,8 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-       file_out = fopen(fname, "wb");
+       file_out = xfopen(fname, "wb", MYNAME);
        out_fname = fname;
-       if (file_out == NULL) {
-               fatal(MYNAME ": Cannot open %s for writing\n", fname);
-       }
        mkshort_handle = mkshort_new_handle();
        setshort_length(mkshort_handle, 20);
 }
index e5860a7992a2df738a454ec1da6cead5eb3adddc..fb1c6bce136ec810076371aad57ffedf6ece0e41 100644 (file)
@@ -21,7 +21,6 @@
 
 #include <ctype.h>
 #include <time.h>
-#include <errno.h>
 
 #include "defs.h"
 #include "magellan.h"
@@ -541,11 +540,7 @@ terminit(const char *portname)
                /*
                 *  Probably not a com port.   Try it as a file.
                 */
-               magfile_in = fopen(portname, "rb");
-               if (magfile_in == NULL) {
-                       fatal(MYNAME ": Cannot open %s.%s\n",
-                               portname, strerror(errno));
-               }
+               magfile_in = xfopen(portname, "rb", MYNAME);
                is_file = 1;
                icon_mapping = map330_icon_table;
                mag_cleanse = m330_cleanse;
@@ -638,12 +633,7 @@ terminit(const char *portname)
 {
        struct termios new_tio;
 
-        magfile_in = fopen(portname, "rb");
-
-        if (magfile_in == NULL) {
-                fatal(MYNAME ": Cannot open %s.%s\n",
-                        portname, strerror(errno));
-        }
+        magfile_in = xfopen(portname, "rb", MYNAME);
 
        is_file = !isatty(fileno(magfile_in));
        if (is_file) {
@@ -653,7 +643,7 @@ terminit(const char *portname)
                return;
        } 
 
-       magfile_out = fopen(portname, "w+b");
+       magfile_out = xfopen(portname, "w+b", MYNAME);
        magfd = fileno(magfile_in);
 
        tcgetattr(magfd, &orig_tio);
@@ -761,11 +751,7 @@ mag_wr_init(const char *portname)
                is_file = 1;
        }
 #else
-       magfile_out = fopen(portname, "w+b");
-       if (!magfile_out) {
-               fatal(MYNAME ": '%s' cannot be opened for writing.\n",
-                               portname);
-       }
+       magfile_out = xfopen(portname, "w+b", MYNAME);
        is_file = !isatty(fileno(magfile_out));
 #endif
 
@@ -773,11 +759,7 @@ mag_wr_init(const char *portname)
                mkshort_handle = mkshort_new_handle();
        }
        if (is_file) {
-               magfile_out = fopen(portname, "w+b");
-               if (magfile_out == NULL) {
-                       fatal(MYNAME ": '%s' cannot be opened for writing.\n",
-                                       portname);
-               }
+               magfile_out = xfopen(portname, "w+b", MYNAME);
                icon_mapping = map330_icon_table;
                mag_cleanse = m330_cleanse;
                got_version = 1;
index c88512683fb0b3425e2cd973c52b344d35f59a22..6b6178c5f2ea0af44ad49aa595f43ced2faeb81f 100644 (file)
@@ -75,10 +75,7 @@ struct pdb_record *opdb_rec;
 static void
 rd_init(const char *fname)
 {
-       file_in = fopen(fname, "rb");
-       if (file_in == NULL) {
-               fatal(MYNAME ": Cannot open %s for reading\n", fname);
-       }
+       file_in = xfopen(fname, "rb", MYNAME);
 }
 
 static void
@@ -90,11 +87,8 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-       file_out = fopen(fname, "wb");
+       file_out = xfopen(fname, "wb", MYNAME);
        out_fname = fname;
-       if (file_out == NULL) {
-               fatal(MYNAME ": Cannot open %s for writing\n", fname);
-       }
        mkshort_handle = mkshort_new_handle();
        setshort_length(mkshort_handle, 20);
 }
index 798455441a109ac5fb6c44ec03e29de4f9765772..93af494d35c80f495f82f983983220790fd01f61 100644 (file)
@@ -38,10 +38,7 @@ static int trk_version = 30;
 static void
 mapsend_rd_init(const char *fname)
 {
-       mapsend_file_in = fopen(fname, "rb");
-       if (mapsend_file_in == NULL) {
-               fatal( MYNAME ": Cannot open '%s' for reading\n", fname);
-       }
+       mapsend_file_in = xfopen(fname, "rb", MYNAME);
 }
 
 static void
@@ -95,10 +92,7 @@ my_fwrite4(int *ptr, FILE *stream)
 static void
 mapsend_wr_init(const char *fname)
 {
-       mapsend_file_out = fopen(fname, "wb");
-       if (mapsend_file_out == NULL) {
-               fatal(MYNAME ": Cannot open '%s' for writing\n", fname);
-       }
+       mapsend_file_out = xfopen(fname, "wb", MYNAME);
        mkshort_handle = mkshort_new_handle();
        route_wp_count = 0;
 }
index 13ea5ddd89fb04a753abeb87f80df28c872fb5b6..27d09c9676c9bd9430d28e7746d6d110b39f36b4 100644 (file)
@@ -158,10 +158,7 @@ int mps_converted_icon_number(const int icon_num, const int mpsver, garmin_forma
 static void
 mps_rd_init(const char *fname)
 {
-       mps_file_in = fopen(fname, "rb");
-       if (mps_file_in == NULL) {
-               fatal(MYNAME ": '%s' for reading\n", fname);
-       }
+       mps_file_in = xfopen(fname, "rb", MYNAME);
 }
 
 static void
@@ -174,7 +171,7 @@ static void
 mps_wr_init(const char *fname)
 {
        if (mpsmergeout) {
-               mps_file_out = fopen(fname, "rb");
+               mps_file_out = xfopen(fname, "rb", MYNAME);
                if (mps_file_out == NULL) {
                        mpsmergeout = NULL;
                }
@@ -192,16 +189,12 @@ mps_wr_init(const char *fname)
                                fclose(mps_file_temp);
                        }
                        rename(fname, tempname);
-                       mps_file_temp = fopen(tempname, "rb");
+                       mps_file_temp = xfopen(tempname, "rb", MYNAME);
                        strcpy(origname, fname);        /* save in case we need to revert the renamed file */
                }
        }
 
-       mps_file_out = fopen(fname, "wb");
-       if (mps_file_out == NULL) {
-               fatal(MYNAME ": '%s' for writing\n", fname);
-               exit(1);
-       }
+       mps_file_out = xfopen(fname, "wb", MYNAME);
 }
 
 static void
index c70321d3c27819bdb13e3100d3debf6530fd4317..91a04b8f6915d6c453c7942bf2544136dcac8e49 100644 (file)
@@ -151,10 +151,7 @@ nav_end(void *data, const char *el)
 void
 nav_rd_init(const char *fname)
 {
-       fd = fopen(fname, "r");
-       if (fd == NULL) {
-               fatal(MYNAME ":Cannot open %s for reading\n", fname);
-       }
+       fd = xfopen(fname, "r", MYNAME);
 
        psr = XML_ParserCreate(NULL);
        if (!psr) {
@@ -193,10 +190,7 @@ void
 nav_wr_init(const char *fname)
 {
        fatal(MYNAME ": Does not support writing Navicache files.\n");
-       ofd = fopen(fname, "w");
-       if (ofd == NULL) {
-               fatal(MYNAME ":Cannot open '%s' for writing\n", fname);
-       }
+       ofd = xfopen(fname, "w", MYNAME);
 }
 
 void
index a875bac02740c5aaf10f74a668cd37d0e395a137..ec5f2e9dd62ed4f89f97d8cf818b1243a07148cf 100644 (file)
@@ -207,11 +207,7 @@ ozi_route_pr()
 static void
 rd_init(const char *fname)
 {
-    file_in = fopen(fname, "r");
-
-    if (file_in == NULL) {
-        fatal(MYNAME ": Cannot open %s for reading\n", fname);
-    }
+    file_in = xfopen(fname, "r", MYNAME);
 
     mkshort_handle = mkshort_new_handle();
 
@@ -240,12 +236,7 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-    file_out = fopen(fname, "w");
-
-    if (file_out == NULL) {
-        fatal(MYNAME ": Cannot open %s for writing\n", fname);
-    }
-
+    file_out = xfopen(fname, "w", MYNAME);
     mkshort_handle = mkshort_new_handle();
 
     /* set mkshort options from the command line if applicable */
index 112837a06aaebfe03de89dd32124b7d8625ee643..3731c33b9b5ac7fd2f343239ecfb205f401582de 100644 (file)
@@ -39,10 +39,7 @@ arglist_t pcx_args[] = {
 static void
 rd_init(const char *fname)
 {
-       file_in = fopen(fname, "r");
-       if (file_in == NULL) {
-               fatal(MYNAME ": Cannot open %s for reading\n", fname);
-       }
+       file_in = xfopen(fname, "r", MYNAME);
 }
 
 static void
@@ -54,12 +51,8 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-       file_out = fopen(fname, "w");
+       file_out = xfopen(fname, "w", MYNAME);
        mkshort_handle = mkshort_new_handle();
-
-       if (file_out == NULL) {
-               fatal(MYNAME ": Cannot open %s for writing\n", fname);
-       }
 }
 
 static void
index 46b27a31f36365afca775f7c3c1a870384938cbb..da35b76830d9368a5f05d14b104abd80331fd21e 100644 (file)
@@ -187,10 +187,7 @@ polygon_process(void)
        int first = 1;
        int last = 0;
 
-       FILE *polyfile = fopen( polyfileopt, "r" );
-       if ( polyfile == NULL ) {
-               fatal(MYNAME ":Can't open %s for reading.\n",polyfileopt); 
-       }
+       FILE *polyfile = xfopen( polyfileopt, "r", MYNAME );
        
         olat = olon = lat1 = lon1 = lat2 = lon2 = BADVAL;
        while ( !feof(polyfile)) {
index b3f99e199dd0bb2d79800c33363f39743c00dac6..7a848a8a03056dada20fceb74579b9d3c6313773 100755 (executable)
@@ -178,10 +178,7 @@ psit_find_icon_number_from_desc(const char *desc)
 static void
 psit_rd_init(const char *fname)
 {
-       psit_file_in = fopen(fname, "r");
-       if (psit_file_in == NULL) {
-               fatal(MYNAME ": '%s' for reading\n", fname);
-       }
+       psit_file_in = xfopen(fname, "r", MYNAME);
 }
 
 static void
@@ -193,10 +190,7 @@ psit_rd_deinit(void)
 static void
 psit_wr_init(const char *fname)
 {
-       psit_file_out = fopen(fname, "w");
-       if (psit_file_out == NULL) {
-               fatal(MYNAME ": '%s' for writing\n", fname);
-       }
+       psit_file_out = xfopen(fname, "w", MYNAME);
 }
 
 static void
index acc73597389edb6b9197d44964b8b687f29739ca..ee009b62132b9601b5de5c8e84ff38a19e80bc65 100644 (file)
@@ -170,10 +170,7 @@ buffer_washer(char * buff, int buffer_len)
 static void
 psp_rd_init(const char *fname)
 {
-       psp_file_in = fopen(fname, "rb");
-       if (psp_file_in == NULL) {
-               fatal(MYNAME ": Cannot open %s for reading\n", fname);
-       }
+       psp_file_in = xfopen(fname, "rb", MYNAME);
 }
 
 static void
@@ -185,12 +182,8 @@ psp_rd_deinit(void)
 static void
 psp_wr_init(const char *fname)
 {
-       psp_file_out = fopen(fname, "wb");
+       psp_file_out = xfopen(fname, "wb", MYNAME);
        mkshort_handle = mkshort_new_handle();
-
-       if (psp_file_out == NULL) {
-               fatal(MYNAME ": Cannot open %s for writing\n", fname);
-       }
 }
 
 static void
index c0fe54353e9268734891c370c9be3088b19ba051..c49149b1e95d21e95277949017ef07fd32639168 100644 (file)
@@ -76,10 +76,7 @@ static int wpt_to_icon(geocache_type type) {
 static void
 rd_init(const char *fname)
 {
-       file_in = fopen(fname, "rb");
-       if (file_in == NULL) {
-               fatal(MYNAME ": Cannot open %s for reading\n", fname);
-       }
+       file_in = xfopen(fname, "rb", MYNAME);
 }
 
 static void
@@ -95,11 +92,8 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-       file_out = fopen(fname, "wb");
+       file_out = xfopen(fname, "wb", MYNAME);
        out_fname = fname;
-       if (file_out == NULL) {
-               fatal(MYNAME ": Cannot open %s for writing\n", fname);
-       }
 }
 
 static void
index e92f0b32c187aec7487d7abc5d463be8f972dc1e..5a0ee80c4753c3690a946538aef431ce8de2878e 100644 (file)
@@ -66,10 +66,7 @@ Skip(FILE * f,
 static void
 rd_init(const char *fname)
 {
-       infile = fopen(fname, "rb");
-       if (infile == NULL) {
-               fatal(MYNAME ": Cannot open %s for reading\n", fname);
-       }
+       infile = xfopen(fname, "rb", MYNAME);
 }
 
 static void
index 8e37e41883217c2d6faaabc5264592d848276dad..f0e202bf573aa07123c8dcb4eb87abcd046e3315 100644 (file)
@@ -96,12 +96,8 @@ arglist_t tiger_args[] = {
 static void
 rd_init(const char *fname)
 {
-       file_in = fopen(fname, "r");
+       file_in = xfopen(fname, "r", MYNAME);
        mkshort_handle = mkshort_new_handle();
-
-       if (file_in == NULL) {
-               fatal(MYNAME ": Cannot open %s for reading\n", fname);
-       }
 }
 
 static void
@@ -114,12 +110,8 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-       file_out = fopen(fname, "w");
+       file_out = xfopen(fname, "w", MYNAME);
        thresh_days = strtod(oldthresh, NULL);
-
-       if (file_out == NULL) {
-               fatal(MYNAME ": Cannot open %s for writing\n", fname);
-       }
 }
 
 static void
@@ -245,11 +237,7 @@ data_write(void)
        if (genurl) {
                FILE *urlf;
 
-               urlf = fopen(genurl, "w");
-               if (urlf == NULL) {
-                       fatal(MYNAME ": Cannot open '%s' for writing\n", 
-                                       genurl);
-               } 
+               urlf = xfopen(genurl, "w", MYNAME);
                latsz = fabs(maxlat - minlat); 
                lonsz = fabs(maxlon - minlon); 
 
@@ -267,11 +255,7 @@ data_write(void)
                fclose(urlf);
 #if CLICKMAP
                if (clickmap) {
-                       linkf = fopen(clickmap, "w");
-                       if (linkf == NULL) {
-                               fatal(MYNAME ": Cannot open '%s' for writing\n",
-                                               clickmap);
-                       }
+                       linkf = xfopen(clickmap, "w", MY NAME);
                        fprintf(linkf, "<map name=\"map\">\n");
                        waypt_disp_all(map_plot);
                        fprintf(linkf, "</map>\n");
index ba5d09fb31cc7119941bcbbaa1a3fe009ae42dc6..875e009f3dfaf3228cee8daab610c85dc920bce4 100644 (file)
@@ -45,10 +45,7 @@ static void *mkshort_handle;
 static void 
 rd_init(const char *fname)
 {
-    file_in = fopen(fname, "r");
-    if (file_in == NULL) {
-       fatal(MYNAME ": Cannot open %s for reading\n", fname);
-    }
+    file_in = xfopen(fname, "r", MYNAME);
 }
 
 static void 
@@ -60,10 +57,7 @@ rd_deinit(void)
 static void 
 wr_init(const char *fname)
 {
-    file_out = fopen(fname, "w");
-    if (file_out == NULL) {
-       fatal(MYNAME ": Cannot open %s for writing\n", fname);
-    }
+    file_out = xfopen(fname, "w", MYNAME);
 }
 
 static void 
index ef2fbc622fedb31b51222e1a2e1ec2bead21c22b..226ff7d03ee8d0ec485f3d359bebf2e0636251f5 100644 (file)
@@ -86,10 +86,7 @@ valid_tpg_header(char * header, int len)
 static void
 tpg_rd_init(const char *fname)
 {
-       tpg_file_in = fopen(fname, "rb");
-       if (tpg_file_in == NULL) {
-               fatal(MYNAME ": Cannot open %s for reading\n", fname);
-       }
+       tpg_file_in = xfopen(fname, "rb", MYNAME);
 }
 
 static void
@@ -101,13 +98,8 @@ tpg_rd_deinit(void)
 static void
 tpg_wr_init(const char *fname)
 {
-       tpg_file_out = fopen(fname, "wb");
+       tpg_file_out = xfopen(fname, "wb", MYNAME);
        mkshort_handle = mkshort_new_handle();
-
-       if (tpg_file_out == NULL) {
-               fatal(MYNAME ": Cannot open %s for writing\n", fname);
-       }
-       
        waypt_out_count = 0;
 }
 
index 287e0ccd661397d980b0cb416dc3d8019cd4c025..9d8ad9fcf53b6e7d9685d8b9e89cd42e3e86a2d4 100644 (file)
@@ -23,6 +23,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <ctype.h>
+#include <errno.h>
 
 static int i_am_little_endian = -1;
 static int doswap(void);
@@ -34,7 +35,7 @@ static FILE *debug_mem_file = NULL;
 void 
 debug_mem_open() 
 {
-       debug_mem_file = fopen( DEBUG_FILENAME, "a" );
+       debug_mem_file = xfopen( DEBUG_FILENAME, "a", "debug" );
 }
 
 void
@@ -220,6 +221,28 @@ xstrappend(char *src, const char *new)
        return src;
 }
 
+/*
+ * Wrapper for open that honours - for stdin, stdout, unifies error text.
+ */
+FILE *
+xfopen(const char *fname, const char *type, const char *errtxt)
+{
+       FILE *f;
+       int am_writing = strchr(type, 'w') != NULL;
+
+       if (0 == strcmp(fname, "-"))
+               return am_writing ? stdout : stdin;
+       f = fopen(fname, type);
+       if (NULL == f) {
+               fatal("%s cannot open '%s' for %s.  Error was '%s'.\n",
+                               errtxt, fname, 
+                               am_writing ? "write" : "read", 
+                               strerror(errno));
+       }
+       return f;
+}
+
+
 /* 
  * Duplicate a pascal string into a normal C string.
  */
index 9d16f4c14f2aea27a3507b59d73b9a6a8c836d49..37a9f58e007806fae987f31342700adcf4edb680 100644 (file)
@@ -405,10 +405,7 @@ xcsv_read_style(const char *fname)
 
     xcsv_file_init();
 
-    fp = fopen(fname, "r");
-
-    if (!fp)
-        fatal(MYNAME ": Cannot read style file: %s\n", fname);
+    fp = xfopen(fname, "r", MYNAME);
 
     do {
         memset(sbuff, '\0', sizeof(sbuff));
@@ -465,10 +462,8 @@ xcsv_rd_init(const char *fname)
         xcsv_read_style(styleopt);
     }
 
-    xcsv_file.xcsvfp = fopen(fname, "r");
+    xcsv_file.xcsvfp = xfopen(fname, "r", MYNAME);
 
-    if (xcsv_file.xcsvfp == NULL)
-        fatal(MYNAME ": Cannot open %s for reading\n", fname);
 }
 
 static void
@@ -493,12 +488,9 @@ xcsv_wr_init(const char *fname)
         xcsv_read_style(styleopt);
     }
 
-    xcsv_file.xcsvfp = fopen(fname, "w");
+    xcsv_file.xcsvfp = xfopen(fname, "w", MYNAME);
     xcsv_file.fname = (char *)fname;
 
-    if (xcsv_file.xcsvfp == NULL)
-        fatal(MYNAME ": Cannot open %s for writing\n", fname);
-
     /* set mkshort options from the command line */
     if (global_opts.synthesize_shortnames) {